The present invention relates to analysis of computer programs. Program analysis plays an important role in a variety of software engineering processes, such as program refactoring. Program refactoring may restructuring an existing body of code without changing the external behavior. Program refactoring may reduce errors and the time it takes to develop a given computing program. Advantages include improved code readability an reduced complexity to improve the code.